
// add map area panelId

var dopBtnstorefrontAdd = "";
var mapManager = null;
var isModify = false;
$("#dop_datagrid_storefront").datagrid({
			url : "",
			height : 350,
			pagination : true,
			fitColumns : false,
			singleSelect : false,
			fit : true,
			pageSize : 10,
			pageList : [10, 30, 50, 100],
			sortOrder : 'desc',
			rownumbers : true,
			showFooter : true,
			frozenColumns : [[]],
			columns : [[{
						field : 'ck',
						checkbox : true
					}, {
						field : "id",
						width : 150,
						title : "主键",
						hidden : true
					}, {
						field : "stoName",
						width : 150,
						title : "店面名称",
						halign:"center",
						align:'left'
					}, {
						field : "stoAddress",
						width : 300,
						title : "店面地址",
						halign:"center",
						align:'left'
					}, {
						field : "stoStatusText",
						width : 150,
						title : "启用状态",
						align:'center'
					},{
						field : "stoStarttime",
						width : 150,
						title : "营业开始时间",
						align:'center'
					}, {
						field : "stoEndtime",
						width : 150,
						title : "营业结束时间",
						align:'center'
					}, {
						field : "restaurantId",
						hidden : true,
						title : "所属商户",
						align:'center'
					}, {
						field : "restaurantName",
						width : 150,
						title : "所属商户",
						halign:"center",
						align:'left'
					}]]
		});

init();

// click pagination
var p = $("#dop_datagrid_storefront").datagrid('getPager');
$(p).pagination({
	onSelectPage : function(pageNumber, pageSize) {
		var params = $.extend({
					pageNum : pageNumber,
					pageSize : pageSize
				}, getQueryParams());
		EapTools.doAction("storefrontController.do?queryList", params, true,
				function(data) {
					$("#dop_datagrid_storefront").datagrid('loadData', {
								"rows" : data.list,
								"total" : data.count
							} || {});
				});
	}
});

// bind add event
$("#dop_btn_storefront_add").click(function() {
	isModify = false;
	// show map dialog
	dopBtnstorefrontAdd = jQuery.layer({
		type : 1,
		title : '<div><span style="padding-left: 14px;line-height: 14px;">添加店面</span></div>',
		shadeClose : true,
		maxmin : false,
		fix : false,
		area : [1000, 550],
		page : {
			dom : '#dop_storefront_add_panel'
		}
	});

	// 清空检索关键字
	$("#searchName").val("");
	$("input[id='stoName']").val("");
	$("input[id='stoAddress']").val("");
	$("input[id='stoCoordinate']")
			.val("");
	$("input[id='stoStartTime']")
			.val("");
	$("input[id='stoEndTime']").val("");
	$("select[id='restaurantId']")
			.val("");
	// 启用店面交互选择          没有什么变化 测试一下而已
	mapManager.getShopManager().start({});
	// 重置视角 (更具ip确定城市)
	mapManager.resetView();

});

// bind modify event
$("#dop_btn_storefront_modify").click(function() {
			var selections = $("#dop_datagrid_storefront")
					.datagrid("getSelections");
			if (selections && selections.length > 0) {
				if (selections.length > 1) {
					layer.tips('请选择一行数据', this, {
								guide : 2,
								time : 2
							});
				} else {

					// 显示地图div
					$("#dop_btn_storefront_add").click();
					// 获得此项记录的坐标字符串
					var stoName = selections[0].stoName;
					// 更新区域名称的显示
					$("input[id='stoName']").val(stoName);
					$("input[id='stoAddress']").val(selections[0].stoAddress);
					$("input[id='stoCoordinate']")
							.val(selections[0].stoCoordinate);
					$("input[id='stoStartTime']")
							.val(selections[0].stoStarttime);
					$("input[id='stoEndTime']").val(selections[0].stoEndtime);
					$("select[id='restaurantId']")
							.val(selections[0].restaurantId);
					isModify = true;

					// 清空检索关键字
					$("#searchName").val("");

					var opts = JSON.parse(selections[0].stoCoordinate);
					opts.name = stoName;
					opts.address = selections[0].stoAddress;
					// 开启编辑状态
					mapManager.getShopManager().start({
								editshop : opts
							})

				}
			} else
				layer.tips('请选择要修改行', this, {
							guide : 2,
							time : 2
						});
		});

// bind delete event
$("#dop_btn_storefront_delete").click(function() {
	var selections = $("#dop_datagrid_storefront").datagrid("getSelections");
	if (selections && selections.length > 0)
		layer.confirm('确定废弃吗？', function() {
					EapTools.doAction("storefrontController.do?delete", {
								"rowList" : JSON.stringify(selections)
							}, true, function(data) {
								if (data.success) {
									EapTip.msgOk("废弃成功！");
									init();
								} else {
									EapTip.alertError("操作失败，有的店面有未完成的订单，无法操作！");
								}
							});
				});
	else
		layer.tips('请选择要废弃行', this, {
					guide : 2,
					time : 2
				});
});

/**
 * 启用按钮事件
 */
$("#dop_btn_storefront_open").click(function() {
	var selections = $("#dop_datagrid_storefront").datagrid("getSelections");
	if (selections.length == 0) {
		layer.tips('请选择商户', document.getElementById("dop_btn_storefront_open"),
				{
					guide : 2,
					time : 2
				});
	} else {
		var idsArr = [];
		for (var i = 0; i < selections.length; i++) {
			idsArr.push(selections[i].id);
		}
		layer.confirm('确定要启用吗？', function() {
					EapTools.doAction("storefrontController.do?opensto", {
								"idsArr" : idsArr
							}, true, function(data) {
								if (data.success) {
									EapTip.msgOk("操作成功！");
									init();
								} else {
									EapTip.alertError("操作失败，请重试！");
								}
							});
				});
	}
});
/**
 * 停用按钮事件
 */
$("#dop_btn_storefront_stop").click(function() {
	var selections = $("#dop_datagrid_storefront").datagrid("getSelections");
	if (selections.length == 0) {
		layer.tips('请选择商户', document.getElementById("dop_btn_storefront_open"),
				{
					guide : 2,
					time : 2
				});
	} else {
		var idsArr = [];
		for (var i = 0; i < selections.length; i++) {
			idsArr.push(selections[i].id);
		}
		layer.confirm('确定要停用吗？', function() {
					EapTools.doAction("storefrontController.do?stopsto", {
								"idsArr" : idsArr
							}, true, function(data) {
								if (data.success) {
									EapTip.msgOk("操作成功！");
									init();
								} else {
									EapTip.alertError("操作失败，有的店面有未完成的订单，无法操作！");
								}
							});
				});
	}
});
// 添加面板 确定按钮
$("#dop_storefront_add_panel_ok").click(function() {
	var stoName = $("input[id='stoName']").val();
	var restaurantId = $("select[id='restaurantId']").val();
	if (!stoName) {
		layer.tips('请填写店面名称', document.getElementById("stoName"), {
					guide : 2,
					time : 2
				});
		return;
	}
	if (restaurantId == "0") {
		layer.tips('请选择所属商户', document.getElementById("restaurantId"), {
					guide : 2,
					time : 2
				});
		return;
	}

	if (isModify)
		EapTools.doAction("storefrontController.do?modify", {
					stoName : $("input[id='stoName']").val(),
					stoAddress : $("input[id='stoAddress']").val(),
					stoCoordinate : $("input[id='stoCoordinate']").val(),
					stoStartTime : $("input[id='stoStartTime']").val(),
					stoEndTime : $("input[id='stoEndTime']").val(),
					restaurantId : restaurantId,
					id : $("#dop_datagrid_storefront")
							.datagrid("getSelections")[0].id
				}, true, function(data) {
					layer.close(dopBtnstorefrontAdd);
					EapTip.msgOk("修改成功");
					$("input[id='stoName']").val("");
					$("input[id='stoAddress']").val("");
					$("input[id='stoCoordinate']").val("");
					$("input[id='stoStartTime']").val("");
					$("input[id='stoEndTime']").val("");
					$("select[id='restaurantId']").val("");
					init();
				});
	else
		EapTools.doAction("storefrontController.do?create", {
					stoName : $("input[id='stoName']").val(),
					stoAddress : $("input[id='stoAddress']").val(),
					stoCoordinate : $("input[id='stoCoordinate']").val(),
					stoStartTime : $("input[id='stoStartTime']").val(),
					stoEndTime : $("input[id='stoEndTime']").val(),
					restaurantId : restaurantId
				}, true, function(data) {
					layer.close(dopBtnstorefrontAdd);
					EapTip.msgOk("添加成功");
					$("input[id='stoName']").val("");
					$("input[id='stoAddress']").val("");
					$("input[id='stoCoordinate']").val("");
					$("input[id='stoStartTime']").val("");
					$("input[id='stoEndTime']").val("");
					$("select[id='restaurantId']").val("");
					init();
				});

});

// 添加面板 取消按钮
$("#dop_storefront_add_panel_cancel").click(function() {
			layer.close(dopBtnstorefrontAdd);
		});

// bind query event
$("#dop_btn_storefront_query").click(function() {
			init();
		});

// 绑定商户列表
EapTools.doAction("restaurantController.do?findData", {}, true,
		function(data) {
			var selectorArray = [];
			selectorArray.push("<option value=''>---请选择---</option>");
			for (var i = 0; i < data.length; i++) {
				var thisObj = data[i];
				selectorArray.push("<option value='", thisObj.id, "'>",
						thisObj.resName, "</option>");
			}
			$("select[code='restaurantId']").append(selectorArray.join(""));
			$("select[id='restaurantId']").append(selectorArray.join(""));
		});

// get params
function getQueryParams() {
	return {
		stoName : $("input[code='stoName']").val(),
		stoAddress : $("input[code='stoAddress']").val(),
		restaurantId : $("select[code='restaurantId']").val()
	};
}

// init
function init() {
	// init
	var options = $("#dop_datagrid_storefront").datagrid('getPager')
			.data("pagination").options;
	var pageSize = options.pageSize;
	var params = $.extend({
				pageNum : 1,
				pageSize : pageSize
			}, getQueryParams());
	EapTools.doAction("storefrontController.do?queryList", params, true,
			function(data) {
				$("#dop_datagrid_storefront").datagrid('loadData', {
							"rows" : data.list,
							"total" : data.count
						} || {});
				var p = $("#dop_datagrid_storefront").datagrid('getPager');
				$("td:last", p).find("a").click();
			});
}

// 地图

InitializeMap();

/**
 * 初始化店面选址地图以及相应的交互操作
 */
function InitializeMap() {
	// 初始化地图
	mapManager = new ExpLink.ExpdopMap();
	mapManager.initializeMap({
				map : 'dop_storefront_map_panel'
			});
	// 初始化店面选址工具
	mapManager.initializeShopManager();

	// 添加 鼠标选点 回调方法
	mapManager.add(ExpLink.ShopManagerEventType.NEWPICK, function(e) {

		// 更新表单中坐标值
		var shopposition = JSON.stringify(e.target);
		$("#stoCoordinate").val(shopposition);

			// 更新表单中地址值
			/*
			 * ExpLink.ExpdopGeoCoder.unGeoCoder(e.target.lng,e.target.lat,
			 * function(fs) { var addComp = fs.addressComponents; var address =
			 * addComp.province + ", " + addComp.city + ", " + addComp.district + ", " +
			 * addComp.street + ", " + addComp.streetNumber;
			 * $("#stoAddress").val(address); });
			 */
		});

	// 添加 关键字检索 方式回调方法
	mapManager.add(ExpLink.ShopManagerEventType.TARGETSELECTED, function(e) {
				var shopposition = JSON.stringify(e.target.position);
				$("#stoCoordinate").val(shopposition);

				// 更新表单中地址值
				/*
				var address = JSON.stringify(e.target.address);
				$("#stoAddress").val(address);
				*/
			});
			
	/**
	 * 店面选址中的 检索按钮
	 */
	$("#searchBtn").click(function(e) {
				var keyword = $("#searchName").val();
				if (!keyword) {
					return;
				}

				// 检索
				mapManager.getShopManager().search(keyword);
			})

}
